<?php

/**
 * 基础控制器
 * 所有控制器的基类，提供通用的方法和属性
 * 不涉及权限相关的逻辑
 */

namespace app\common\controller;

use core\Route;
use core\View;
use core\Controller;
use app\common\middleware\AuthMiddleware;
use core\Context;

class BaseController extends Controller
{
    protected $view;

    public function __construct()
    {
        $this->view = new View();
        // 初始化Context
        if (isset($_SESSION['user_id'])) {
            Context::set('user', [
                'id' => $_SESSION['user_id'],
                'username' => $_SESSION['username']
            ]);
        }
    }

    /**
     * 渲染视图
     * @param string $view 视图文件路径
     * @param array $data 视图数据
     */
    protected function render($view, $data = [])
    {
        $this->view->render($view, $data);
    }

    /**
     * 重定向
     * @param string $url 重定向URL
     */
    protected function redirect($url)
    {
        $this->view->redirect($url);
    }
}
    